全画面表示にするとより見やすくなります。
シリアル通信のサンプルプログラムです。ハイパーターミナル等の通信ソフトに接続して使用します。ターミナル上で入力した文字をエコーバックし、キー入力によって今まで入力した文字数を2進数、10進数、16進数で表示します。
avr-libの標準I/Oルーチンを使用してコンソールを制御します。基本的にsmpl1と同じですが、キャラクタ、文字列、書式化文字列ルーチンに関しては標準I/Oライブラリを経由しています。
基本的な論理演算を使用してLEDを点灯、消灯させます。
I/OボードのLED1~4を任意のパターンで点灯させます。
スイッチ類の状態をLEDに反映します。
プッシュスイッチの状態変化を割り込みで検出し、割り込み要因に応じたLEDの点灯パターンを作ります。
PA0~PA7(ADC0~ADC7)に入力された電圧信号を計測し表示します。PB1を押すとA/D変換値そのものの値、PB2を押すとA/D変換後電圧値に変換した値を表示します。
動画ではAVCCにVCC(5V)、PA0にGND(0V)、PA4にVCC(5V)を接続しました。
タイマ/カウンタ0のオーバーフローを使用し、一定周期毎に割り込みを励起します。
タイマ/カウンタ1を高速PWM動作させ、2chのPWMを出力します。またコンペアマッチ割り込みを使用して比較レジスタの値を順次インクリメントしてPWMのデューティー比を更新します。
動画ではEVBに電源を接続し、PWM信号でサーボモータを動作させました。
コンソール上で入力したデータをマイコンに内蔵されたEEPROMに書き込んだり読み出したりします。